// #include <iostream>

// const int StackSize = 10;
// class ArrayStack
// {
// public:
//     ArrayStack():len(0){};
//     //入栈
//     void Push(const int& element)
//     {
//         if(len == StackSize)
//         {
//             std::cout<<"栈空间满"<<std::endl;
//             return;
//         }
//         a[len++] = element;
//     }
//     //出栈
//     void Pop()
//     {
//         if(len == 0)
//         {
//             std::cout<<"栈空间为0\n";
//             return;
//         }
//         len--;
//     }
//     //获取栈顶元素
//     int* GetTop()
//     {
//         if(len == 0)
//         {
//             std::cout<<"栈空间为0\n";
//             return nullptr;
//         }
//         return &a[len - 1];
//     }
//     //判断栈是否为空
//     bool IsEmpty()
//     {
//         return len == 0;
//     }

// private:
//     int a[StackSize];
//     int len;
// };

// int main()
// {
//     // ArrayStack s;
//     // for(int i = 0;i < 20;i++)
//     //     s.Push(i+1);
    
//     // while(s.IsEmpty() == false)
//     // {
//     //     std::cout<<*s.GetTop()<<" ";
//     //     s.Pop();
//     // }
//     // std::cout<<std::endl;

//     //进制转换器
//     int num = 0; //要被转换的数据
//     int n;//进制
//     std::cin>>num>>n;
//     ArrayStack s;
//     while(num > 0)
//     {
//        s.Push(num % n);
//        num /= n; 
//     }
//     while(s.IsEmpty() == false)
//     {
//         int value = *s.GetTop();
//         if(value > 9)
//             std::cout<<(char)(value - 10 + 'a');
//         else
//             std::cout<<value;

//         s.Pop();
//     }
//     std::cout<<std::endl;
//     return 0;
// }